<?php
/**
 * Проверка на соотвествие паспорта.
 * @author nrnwest@gmail.com
 *
 */
class User_Validate_Password extends Zend_Validate_Abstract
{
    const FORMAT_ERROR = 'formatError';
    const LENGTH_ERROR = 'loginYes';
    /**
     * @var array
     */
    protected $_messageTemplates = array(
    self::LENGTH_ERROR => "Длина паспорта должна быть не меньше чем 5 символов", 
    self::FORMAT_ERROR => "Паспорт должен содеражть только латинские символы a-z, или цифры 0-9");

    public function isValid($value)
    {
      $value = (string) $value;
      $strLen = new Zend_Validate_StringLength(5);
      if($strLen->isValid($value) === false) {
      	$this->_error(self::LENGTH_ERROR);
      	return false;
      }
      if(preg_match('~[^a-z0-9]+~i', $value) !== 0) {
      	$this->_error(self::FORMAT_ERROR);
      	return false;
      }
      return true;
    }
}